@echo off
chcp 65001 >nul

:: cURL转换器 WebUI 重新构建脚本 (Windows版本)
:: 用于完全重新构建和启动容器

echo 开始重新构建 curlconverter...
echo.

:: 1. 停止容器 curlconverter
echo 1. 停止容器 curlconverter...
docker stop curlconverter >nul 2>&1
if errorlevel 1 (
    echo    容器 curlconverter 未运行或不存在
) else (
    echo    容器已停止
)

:: 删除容器（如果存在）
echo    删除容器 curlconverter...
docker rm curlconverter >nul 2>&1
if errorlevel 1 (
    echo    容器 curlconverter 不存在
) else (
    echo    容器已删除
)

:: 2. 删除镜像 curlconverter:latest
echo.
echo 2. 删除镜像 curlconverter:latest...
docker rmi curlconverter:latest >nul 2>&1
if errorlevel 1 (
    echo    镜像 curlconverter:latest 不存在
) else (
    echo    镜像已删除
)

:: 3. 执行 docker build
echo.
echo 3. 重新构建镜像...
docker build -t curlconverter:latest .

:: 检查构建是否成功
if errorlevel 1 (
    echo.
    echo ❌ 错误: Docker 镜像构建失败！
    pause
    exit /b 1
)

echo    ✅ 镜像构建成功！

:: 4. 执行 docker run 命令
echo.
echo 4. 启动新容器...
docker run -d --name curlconverter --restart unless-stopped -p 3000:3000 -e NODE_ENV=production -e PORT=3000 -v "%cd%/logs:/usr/src/app/logs" curlconverter:latest

:: 检查容器是否启动成功
if errorlevel 1 (
    echo.
    echo ❌ 错误: 容器启动失败！
    pause
    exit /b 1
)

echo.
echo ✅ 重新构建完成！
echo.
echo 📋 容器信息:
docker ps | findstr curlconverter
echo.
echo 🌐 应用访问地址: http://localhost:3000
echo 📊 查看日志: docker logs curlconverter
echo.
pause